Skip to content

feat: implement issuer asset registration UI - #142

Open
peterexcel494-oss wants to merge 1 commit into
Raegis-RWA:mainfrom
peterexcel494-oss:feat/issuer-asset-registration
Open

feat: implement issuer asset registration UI#142
peterexcel494-oss wants to merge 1 commit into
Raegis-RWA:mainfrom
peterexcel494-oss:feat/issuer-asset-registration

Conversation

@peterexcel494-oss

Copy link
Copy Markdown
Contributor

Summary

Implements the full issuer-facing asset registration UI as described in issue #54.

Closes #54


Changes

New Pages

  • src/pages/register-asset.tsx — Registration page with wallet guard and step indicator

New Components

  • src/components/AssetRegistrationForm.tsx — Multi-step form (input → review → receipt)
  • src/components/ReviewStep.tsx — Read-only metadata summary before signing
  • src/components/RegistrationReceipt.tsxSuccessReceipt (tx hash + contract ID) and ErrorReceipt (with retry) states

New Library Modules

  • src/lib/validateAssetMetadata.ts — Client-side validation for all metadata fields with inline error feedback
  • src/lib/aegisSdk.ts — Centralised SDK integration; all contract calls route through registerAsset() (mock implementation, ready for real SDK drop-in)

New Fixtures

  • src/fixtures/assetFixtures.ts — Pre-filled dev fixtures (FIXTURE_REAL_ESTATE, FIXTURE_TREASURY) and ASSET_TYPE_OPTIONS

Docs

  • docs/issuer-assumptions.md — Explains issuer responsibilities, validation rules, SDK integration, and the multi-step flow

Updated

  • src/components/Navbar.tsx — Added "Register Asset" navigation link

Acceptance Criteria

  • Asset registration page is implemented
  • Metadata validation is included (inline field errors, ticker format, supply, URI, jurisdiction)
  • Review screen appears before signing
  • SDK integration is centralised in src/lib/aegisSdk.ts
  • Receipt and error states are included
  • Docs explain issuer assumptions (no legal verification implied)

Notes

  • The @aegis/sdk package is not yet published. aegisSdk.ts uses a mock that simulates latency and a ~10% error rate so all UI states can be exercised locally.
  • Build verified: npm run build compiles with zero TypeScript errors.

Closes #54

- Add /register-asset page with wallet guard (src/pages/register-asset.tsx)
- Add multi-step AssetRegistrationForm: input → review → receipt
- Add ReviewStep component with read-only metadata summary before signing
- Add RegistrationReceipt component (SuccessReceipt + ErrorReceipt states)
- Add centralised SDK integration module (src/lib/aegisSdk.ts)
- Add client-side metadata validation (src/lib/validateAssetMetadata.ts)
- Add development fixtures with mock asset data (src/fixtures/assetFixtures.ts)
- Add issuer assumptions docs (docs/issuer-assumptions.md)
- Update Navbar to include Register Asset navigation link

All acceptance criteria met:
  ✓ Asset registration page implemented
  ✓ Metadata validation included (inline field errors)
  ✓ Review screen before signing
  ✓ SDK integration centralised in src/lib/aegisSdk.ts
  ✓ Receipt and error states included
  ✓ Docs explain issuer assumptions (no legal verification implied)
@El-swaggerito

Copy link
Copy Markdown
Contributor
\nThis PR is currently blocked by merge conflicts.\n\nPlease update the branch with the latest main branch and resolve the conflicts before it can be merged.

@El-swaggerito

Copy link
Copy Markdown
Contributor
\nGitHub has not finished calculating whether this PR can be merged cleanly.\n\nThe auto-merge automation will skip this PR for now. Re-run the automation later.

@peterexcel494-oss

Copy link
Copy Markdown
Contributor Author

@El-swaggerito please kindly review and merged the PR

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Implement issuer asset registration UI

2 participants